package ca.seia.comp6521.a1.externalmergesort;

import java.util.List;

public class PhaseIStatistics {

	private long executionTime;
	private double averageSortTime;
	private double averageWriteTime;
	private int numberOfIntegersProcessed;
	
	private List<String> sortedSubListsFilePaths;

	public PhaseIStatistics(long executionTime, double averageSortTime,
			double averageWriteTime, int numberOfIntegersProcessed,
			List<String> sortedSubListsFilePaths) {
		this.executionTime = executionTime;
		this.averageSortTime = averageSortTime;
		this.averageWriteTime = averageWriteTime;
		this.numberOfIntegersProcessed = numberOfIntegersProcessed;
		this.sortedSubListsFilePaths = sortedSubListsFilePaths;
	}

	public int getNumberOfIntegersProcessed() {
		return numberOfIntegersProcessed;
	}
	
	public void setNumberOfIntegersProcessed(int numberOfIntegersProcessed) {
		this.numberOfIntegersProcessed = numberOfIntegersProcessed;
	}
	
	public long getExecutionTime() {
		return executionTime;
	}

	public void setExecutionTime(long executionTime) {
		this.executionTime = executionTime;
	}

	public double getAverageWriteTime() {
		return averageWriteTime;
	}

	public void setAverageWriteTime(double averageWriteTime) {
		this.averageWriteTime = averageWriteTime;
	}

	public double getAverageSortTime() {
		return averageSortTime;
	}

	public void setAverageSortTime(double averageSortTime) {
		this.averageSortTime = averageSortTime;
	}

	public List<String> getSortedSubListsFilePaths() {
		return sortedSubListsFilePaths;
	}

	public void setSortedSubListsFilePaths(List<String> sortedSubListsFilePaths) {
		this.sortedSubListsFilePaths = sortedSubListsFilePaths;
	}

	@Override
	public String toString() {
		return "PhaseIStatistics [executionTime=" + executionTime + "ms\r\n"
				+ ", sortTime=" + averageSortTime + "ms\r\n"
				+ ", ioTime=" + averageWriteTime + "ms\r\n"
				+ ", numberOfIntegersProcessed=" + numberOfIntegersProcessed +"\r\n"
				+ ", sortedSubListsFilePaths=" + sortedSubListsFilePaths + "]";
	}
	
}
